package com.wuhao.lib_common.download;

import com.liulishuo.okdownload.DownloadTask;


/**
 * Created by zhangjianhao on 2018/8/21.
 *
 * @author zhangjianhao
 */

public interface SingleDownloadListener {
    public static final String STATE_DOWNLOADING = "正在下载";
    public static final String STATE_RETRYING = "重试中";
    public static final String STATE_UPDATE = "下载中...";
    public static final String STATE_CONNECTEDDOWNLOAD = "已连接到资源";
    public static final String STATE_FINISH_SUCCESS = "下载完成";
    public static final String STATE_FINISH_FAIL = "下载完成";

    /**
     * 单文件下载-开始下载
     * @param task 下载任务
     */
    void startDownload(DownloadTask task);

    /**
     * 单文件下载-重新下载
     * @param task 下载任务
     */
    void retryDownload(DownloadTask task);

    /**
     * 单文件下载-连接下载
     * @param task 下载任务
     * @param downloadBean 下载过程信息（已下载的大小、总大小、速度、进度百分比）
     */
    void connectedDownload(DownloadTask task, DownloadBean downloadBean);

    /**
     * 单文件下载-更新下载进度
     * @param downloadBean 下载过程信息（已下载的大小、总大小、速度、进度百分比）
     */
    void updateDownload(DownloadBean downloadBean);

    /**
     * 单文件下载-结束下载
     * @param isFinish 是否完成
     * @param task 下载任务
     */
    void stopDownload(boolean isFinish, DownloadTask task);
}
